home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / basic.vim < prev    next >
Encoding:
Text File  |  2001-05-09  |  8.2 KB  |  175 lines

  1. " Vim syntax file
  2. " Language:    BASIC
  3. " Maintainer:    Allan Kelly <allan@fruitloaf.co.uk>
  4. " Last Change:    Tue Sep 14 14:24:23 BST 1999
  5.  
  6. " First version based on Micro$soft QBASIC circa 1989, as documented in
  7. " 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989.
  8. " This syntax file not a complete implementation yet.  Send suggestions to the
  9. " maintainer.
  10.  
  11. " For version 5.x: Clear all syntax items
  12. " For version 6.x: Quit when a syntax file was already loaded
  13. if version < 600
  14.   syntax clear
  15. elseif exists("b:current_syntax")
  16.   finish
  17. endif
  18.  
  19. " A bunch of useful BASIC keywords
  20. syn keyword basicStatement    BEEP beep Beep BLOAD bload Bload BSAVE bsave Bsave
  21. syn keyword basicStatement    CALL call Call ABSOLUTE absolute Absolute
  22. syn keyword basicStatement    CHAIN chain Chain CHDIR chdir Chdir
  23. syn keyword basicStatement    CIRCLE circle Circle CLEAR clear Clear
  24. syn keyword basicStatement    CLOSE close Close CLS cls Cls COLOR color Color
  25. syn keyword basicStatement    COM com Com COMMON common Common
  26. syn keyword basicStatement    CONST const Const DATA data Data
  27. syn keyword basicStatement    DECLARE declare Declare DEF def Def
  28. syn keyword basicStatement    DEFDBL defdbl Defdbl DEFINT defint Defint
  29. syn keyword basicStatement    DEFLNG deflng Deflng DEFSNG defsng Defsng
  30. syn keyword basicStatement    DEFSTR defstr Defstr DIM dim Dim
  31. syn keyword basicStatement    DO do Do LOOP loop Loop
  32. syn keyword basicStatement    DRAW draw Draw END end End
  33. syn keyword basicStatement    ENVIRON environ Environ ERASE erase Erase
  34. syn keyword basicStatement    ERROR error Error EXIT exit Exit
  35. syn keyword basicStatement    FIELD field Field FILES files Files
  36. syn keyword basicStatement    FOR for For NEXT next Next
  37. syn keyword basicStatement    FUNCTION function Function GET get Get
  38. syn keyword basicStatement    GOSUB gosub Gosub GOTO goto Goto
  39. syn keyword basicStatement    IF if If THEN then Then ELSE else Else
  40. syn keyword basicStatement    INPUT input Input INPUT# input# Input#
  41. syn keyword basicStatement    IOCTL ioctl Ioctl KEY key Key
  42. syn keyword basicStatement    KILL kill Kill LET let Let
  43. syn keyword basicStatement    LINE line Line LOCATE locate Locate
  44. syn keyword basicStatement    LOCK lock Lock UNLOCK unlock Unlock
  45. syn keyword basicStatement    LPRINT lprint Lprint USING using Using
  46. syn keyword basicStatement    LSET lset Lset MKDIR mkdir Mkdir
  47. syn keyword basicStatement    NAME name Name ON on On
  48. syn keyword basicStatement    ERROR error Error OPEN open Open
  49. syn keyword basicStatement    OPTION option Option BASE base Base
  50. syn keyword basicStatement    OUT out Out PAINT paint Paint
  51. syn keyword basicStatement    PALETTE palette Palette PCOPY pcopy Pcopy
  52. syn keyword basicStatement    PEN pen Pen PLAY play Play
  53. syn keyword basicStatement    PMAP pmap Pmap POKE poke Poke
  54. syn keyword basicStatement    PRESET preset Preset PRINT print Print
  55. syn keyword basicStatement    PRINT# print# Print# USING using Using
  56. syn keyword basicStatement    PSET pset Pset PUT put Put
  57. syn keyword basicStatement    RANDOMIZE randomize Randomize READ read Read
  58. syn keyword basicStatement    REDIM redim Redim RESET reset Reset
  59. syn keyword basicStatement    RESTORE restore Restore RESUME resume Resume
  60. syn keyword basicStatement    RETURN return Return RMDIR rmdir Rmdir
  61. syn keyword basicStatement    RSET rset Rset RUN run Run
  62. syn keyword basicStatement    SEEK seek Seek SELECT select Select
  63. syn keyword basicStatement    CASE case Case SHARED shared Shared
  64. syn keyword basicStatement    SHELL shell Shell SLEEP sleep Sleep
  65. syn keyword basicStatement    SOUND sound Sound STATIC static Static
  66. syn keyword basicStatement    STOP stop Stop STRIG strig Strig
  67. syn keyword basicStatement    SUB sub Sub SWAP swap Swap
  68. syn keyword basicStatement    SYSTEM system System TIMER timer Timer
  69. syn keyword basicStatement    TROFF troff Troff TRON tron Tron
  70. syn keyword basicStatement    TYPE type Type UNLOCK unlock Unlock
  71. syn keyword basicStatement    VIEW view View WAIT wait Wait
  72. syn keyword basicStatement    WHILE while While WEND wend Wend
  73. syn keyword basicStatement    WIDTH width Width WINDOW window Window
  74. syn keyword basicStatement    WRITE write Write DATE$ date$ Date$
  75. syn keyword basicStatement    MID$ mid$ Mid$ TIME$ time$ Time$
  76.  
  77. syn keyword basicFunction    ABS abs Abs ASC asc Asc
  78. syn keyword basicFunction    ATN atn Atn CDBL cdbl Cdbl
  79. syn keyword basicFunction    CINT cint Cint CLNG clng Clng
  80. syn keyword basicFunction    COS cos Cos CSNG csng Csng
  81. syn keyword basicFunction    CSRLIN csrlin Csrlin CVD cvd Cvd
  82. syn keyword basicFunction    CVDMBF cvdmbf Cvdmbf CVI cvi Cvi
  83. syn keyword basicFunction    CVL cvl Cvl CVS cvs Cvs
  84. syn keyword basicFunction    CVSMBF cvsmbf Cvsmbf EOF eof Eof
  85. syn keyword basicFunction    ERDEV erdev Erdev ERL erl Erl
  86. syn keyword basicFunction    ERR err Err EXP exp Exp
  87. syn keyword basicFunction    FILEATTR fileattr Fileattr FIX fix Fix
  88. syn keyword basicFunction    FRE fre Fre FREEFILE freefile Freefile
  89. syn keyword basicFunction    INP inp Inp INSTR instr Instr
  90. syn keyword basicFunction    INT int Int LBOUND lbound Lbound
  91. syn keyword basicFunction    LEN len Len LOC loc Loc
  92. syn keyword basicFunction    LOF lof Lof LOG log Log
  93. syn keyword basicFunction    LPOS lpos Lpos PEEK peek Peek
  94. syn keyword basicFunction    PEN pen Pen POINT point Point
  95. syn keyword basicFunction    POS pos Pos RND rnd Rnd
  96. syn keyword basicFunction    SADD sadd Sadd SCREEN screen Screen
  97. syn keyword basicFunction    SEEK seek Seek SETMEM setmem Setmem
  98. syn keyword basicFunction    SGN sgn Sgn SIN sin Sin
  99. syn keyword basicFunction    SPC spc Spc SQR sqr Sqr
  100. syn keyword basicFunction    STICK stick Stick STRIG strig Strig
  101. syn keyword basicFunction    TAB tab Tab TAN tan Tan
  102. syn keyword basicFunction    UBOUND ubound Ubound VAL val Val
  103. syn keyword basicFunction    VALPTR valptr Valptr VALSEG valseg Valseg
  104. syn keyword basicFunction    VARPTR varptr Varptr VARSEG varseg Varseg
  105. syn keyword basicFunction    CHR$ Chr$ chr$ COMMAND$ command$ Command$
  106. syn keyword basicFunction    DATE$ date$ Date$ ENVIRON$ environ$ Environ$
  107. syn keyword basicFunction    ERDEV$ erdev$ Erdev$ HEX$ hex$ Hex$
  108. syn keyword basicFunction    INKEY$ inkey$ Inkey$ INPUT$ input$ Input$
  109. syn keyword basicFunction    IOCTL$ ioctl$ Ioctl$ LCASES$ lcases$ Lcases$
  110. syn keyword basicFunction    LAFT$ laft$ Laft$ LTRIM$ ltrim$ Ltrim$
  111. syn keyword basicFunction    MID$ mid$ Mid$ MKDMBF$ mkdmbf$ Mkdmbf$
  112. syn keyword basicFunction    MKD$ mkd$ Mkd$ MKI$ mki$ Mki$
  113. syn keyword basicFunction    MKL$ mkl$ Mkl$ MKSMBF$ mksmbf$ Mksmbf$
  114. syn keyword basicFunction    MKS$ mks$ Mks$ OCT$ oct$ Oct$
  115. syn keyword basicFunction    RIGHT$ right$ Right$ RTRIM$ rtrim$ Rtrim$
  116. syn keyword basicFunction    SPACE$ space$ Space$ STR$ str$ Str$
  117. syn keyword basicFunction    STRING$ string$ String$ TIME$ time$ Time$
  118. syn keyword basicFunction    UCASE$ ucase$ Ucase$ VARPTR$ varptr$ Varptr$
  119. syn keyword basicTodo contained    TODO
  120.  
  121. "integer number, or floating point number without a dot.
  122. syn match  basicNumber        "\<\d\+\>"
  123. "floating point number, with dot
  124. syn match  basicNumber        "\<\d\+\.\d*\>"
  125. "floating point number, starting with a dot
  126. syn match  basicNumber        "\.\d\+\>"
  127.  
  128. " String and Character contstants
  129. syn match   basicSpecial contained "\\\d\d\d\|\\."
  130. syn region  basicString          start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=basicSpecial
  131.  
  132. syn region  basicComment    start="REM" end="$" contains=basicTodo
  133. syn region  basicComment    start="^[ \t]*'" end="$" contains=basicTodo
  134. syn region  basicLineNumber    start="^\d" end="\s"
  135. syn match   basicTypeSpecifier  "[a-zA-Z0-9][\$%&!#]"ms=s+1
  136. " Used with OPEN statement
  137. syn match   basicFilenumber  "#\d\+"
  138. "syn sync ccomment basicComment
  139. " syn match   basicMathsOperator "[<>+\*^/\\=-]"
  140. syn match   basicMathsOperator   "-\|=\|[:<>+\*^/\\]\|AND\|OR"
  141.  
  142. " Define the default highlighting.
  143. " For version 5.7 and earlier: only when not done already
  144. " For version 5.8 and later: only when an item doesn't have highlighting yet
  145. if version >= 508 || !exists("did_basic_syntax_inits")
  146.   if version < 508
  147.     let did_basic_syntax_inits = 1
  148.     command -nargs=+ HiLink hi link <args>
  149.   else
  150.     command -nargs=+ HiLink hi def link <args>
  151.   endif
  152.  
  153.   HiLink basicLabel        Label
  154.   HiLink basicConditional    Conditional
  155.   HiLink basicRepeat        Repeat
  156.   HiLink basicLineNumber    Comment
  157.   HiLink basicNumber        Number
  158.   HiLink basicError        Error
  159.   HiLink basicStatement    Statement
  160.   HiLink basicString        String
  161.   HiLink basicComment        Comment
  162.   HiLink basicSpecial        Special
  163.   HiLink basicTodo        Todo
  164.   HiLink basicFunction        Identifier
  165.   HiLink basicTypeSpecifier Type
  166.   HiLink basicFilenumber basicTypeSpecifier
  167.   "hi basicMathsOperator term=bold cterm=bold gui=bold
  168.  
  169.   delcommand HiLink
  170. endif
  171.  
  172. let b:current_syntax = "basic"
  173.  
  174. " vim: ts=8
  175.